home *** CD-ROM | disk | FTP | other *** search
/ TeX 1995 July / TeX CD-ROM July 1995 (Disc 1)(Walnut Creek)(1995).ISO / graphics / gnuplot / contrib / yamamoto / mac.mod < prev   
Internet Message Format  |  1992-03-18  |  53KB

  1. From sun!kekvax.kek.jp!YAMAMOTO@pixar.com Wed Mar 18 04:32:31 1992
  2. Return-Path: <sun!kekvax.kek.jp!YAMAMOTO@pixar.com>
  3. Received: from ucbvax.Berkeley.EDU by ra-next.arc.nasa.gov (NeXT-1.0 (From Sendmail 5.52)/NeXT-1.0)
  4.     id AA00715; Wed, 18 Mar 92 04:32:20 PST
  5. Received: from sun.UUCP by ucbvax.Berkeley.EDU (5.63/1.43)
  6.     id AA12248; Wed, 18 Mar 92 04:37:31 -0800
  7. Received: from sun.UUCP by pixar.com (4.1/NBN-15/PIX-10)
  8.     id AA00585; Wed, 18 Mar 92 03:54:15 PST
  9. Received: from Sun.COM (sun-barr) by sun.Eng.Sun.COM (4.1/SMI-4.1)
  10.     id AA08856; Wed, 18 Mar 92 01:25:59 PST
  11. Received: from kekvax.kek.jp ([130.87.34.1]) by Sun.COM (4.1/SMI-4.1)
  12.     id AA10482; Wed, 18 Mar 92 01:25:46 PST
  13. Message-Id: <9203180925.AA10482@Sun.COM>
  14. Date: 18 Mar 92 18:25:00 GMT+9:00
  15. From: "NOBORU YAMAMOTO     " <sun!kekvax.kek.jp!YAMAMOTO@pixar.com>
  16. Subject: Re: gnuplot on Apple Macintosh
  17. To: "pixar!ucbvax!ra-next.arc.nasa.gov!woo" <sun!ra-next.arc.nasa.gov!woo>
  18. Status: R
  19.  
  20.      Hi,
  21.  
  22.      I'm sorry for not replying your e-mail for a long time. My hard disc had
  23. crashed shortly after I wrote previous mai. I have not been able to find time
  24. to rebuild gnuplot on Mac.
  25.  
  26.      Here I enclose "diff -c" patch for gnuplot 3.0 on Mac. you also need
  27. TC-console.c and TC_console.h files , which I will send in separate e-mail. 
  28. The graphics.c file is too big for THINK-C compiler. I forced to divide it into
  29. two part.
  30.  
  31.     Hope it help someone in the world.
  32.  
  33.     Noboru Yamamoto
  34.  
  35. ---------------- diff -c <modified> <original > ---------------------
  36. Only in ../gnuplot: Makefile
  37. Only in src: TC_console.c
  38. Only in src: TC_console.h
  39. diff -c src/bitmap.c ../gnuplot/bitmap.c
  40. *** src/bitmap.c    Sun Feb  2 09:44:43 1992
  41. --- ../gnuplot/bitmap.c    Fri Jul 19 03:54:16 1991
  42. ***************
  43. *** 789,799 ****
  44.     b_angle = 0;
  45.     b_rastermode = 0;
  46.     /* allocate row pointers */
  47. !   b_p = (bitmap *)alloc( (size_t) rows * sizeof(pixels *), "bitmap row buffer");
  48.     bzero(b_p, rows * sizeof(pixels *));
  49.     for (j = 0; j < rows; j++) {
  50.       /* allocate bitmap buffers */
  51. !     (*b_p)[j] = (pixels *)alloc((size_t) x * sizeof(pixels),(char *)NULL);
  52.       if ((*b_p)[j] == (pixels *)NULL) {
  53.           b_freebitmap();  /* free what we have already allocated */
  54.           int_error("out of memory for bitmap buffer", NO_CARET);
  55. --- 789,799 ----
  56.     b_angle = 0;
  57.     b_rastermode = 0;
  58.     /* allocate row pointers */
  59. !   b_p = (bitmap *)alloc( rows * sizeof(pixels *), "bitmap row buffer");
  60.     bzero(b_p, rows * sizeof(pixels *));
  61.     for (j = 0; j < rows; j++) {
  62.       /* allocate bitmap buffers */
  63. !     (*b_p)[j] = (pixels *)alloc(x * sizeof(pixels),(char *)NULL);
  64.       if ((*b_p)[j] == (pixels *)NULL) {
  65.           b_freebitmap();  /* free what we have already allocated */
  66.           int_error("out of memory for bitmap buffer", NO_CARET);
  67. ***************
  68. *** 1054,1057 ****
  69.   {
  70.       b_angle=(unsigned int)ang;
  71.       return TRUE;
  72. ! }
  73. --- 1054,1057 ----
  74.   {
  75.       b_angle=(unsigned int)ang;
  76.       return TRUE;
  77. ! }
  78. diff -c src/bitmap.c ../gnuplot/bitmap.csrc/bitmap.h ../gnuplot/bitmap.h
  79. *** src/bitmap.h    Tue Jan 21 10:08:49 1992
  80. --- ../gnuplot/bitmap.h    Tue Jun  4 07:25:57 1991
  81. ***************
  82. *** 29,39 ****
  83.   
  84.   
  85.   typedef unsigned char pixels;  /* the type of one set of 8 pixels in bitmap */
  86. - #ifdef THINK_C
  87. - typedef pixels **bitmap;  /* the bitmap */
  88. - #else
  89.   typedef pixels *bitmap[];  /* the bitmap */
  90. - #endif
  91.   
  92.   extern bitmap *b_p;                        /* global pointer to bitmap */
  93.   extern unsigned int b_currx, b_curry;    /* the current coordinates */
  94. --- 29,35 ----
  95. diff -c src/bitmap.h ../gnuplot/bitmap.hsrc/command.c ../gnuplot/command.c
  96. *** src/command.c    Sat Jan 25 11:25:12 1992
  97. --- ../gnuplot/command.c    Tue Sep 24 23:51:22 1991
  98. ***************
  99. *** 90,107 ****
  100.    * instead of <strings.h>
  101.    */
  102.   
  103. - #ifdef THINK_C
  104. - extern char *gets(),*getenv(); 
  105. - extern char *strcpy(char *, char *);
  106. - extern char *strncpy(char *, char *, size_t);
  107. - extern char *strcat(char *, char *);
  108. - extern int strcmp(char *, char *);
  109. - extern size_t strlen(char *);
  110. - #else
  111.   extern char *gets(),*getenv();
  112.   extern char *strcpy(),*strncpy(),*strcat();
  113.   extern int strlen(), strcmp();
  114. - #endif
  115.   
  116.   /*
  117.    * Only reference to contours library.
  118. --- 90,98 ----
  119. ***************
  120. *** 287,308 ****
  121.       else if (almost_equals(c_token,"sa$ve")) {
  122.           if (almost_equals(++c_token,"f$unctions")) {
  123.               if (!isstring(++c_token))
  124. - #ifdef THINK_C
  125. -             {     Point where={97,103};
  126. -                 SFReply reply;
  127. -                 
  128. -                 SFPutFile(where,NULL, "\pUntitled",NULL, &reply);
  129. -                 if( (reply.good) && (SetVol(reply.fName,reply.vRefNum) == noErr)){
  130. -                     PtoCstr((char *) reply.fName);
  131. -                     save_functions(fopen((char *) reply.fName,"w"));    
  132. -                 }
  133. -                 else{
  134. -                     int_error("expecting filename",c_token);
  135. -                 }
  136. -             }
  137. - #else
  138.                   int_error("expecting filename",c_token);
  139. - #endif
  140.               else {
  141.                   quote_str(sv_file,c_token);
  142.                   save_functions(fopen(sv_file,"w"));
  143. --- 278,284 ----
  144. ***************
  145. *** 310,331 ****
  146.           }
  147.           else if (almost_equals(c_token,"v$ariables")) {
  148.               if (!isstring(++c_token))
  149. - #ifdef THINK_C
  150. -             {     Point where={97,103};
  151. -                 SFReply reply;
  152. -                 
  153. -                 SFPutFile(where,NULL, NULL,NULL, &reply);
  154. -                 if( (reply.good) && (SetVol(reply.fName,reply.vRefNum) == noErr)){
  155. -                     PtoCstr((char *) reply.fName);
  156. -                     save_variables(fopen((char *) reply.fName,"w"));    
  157. -                 }
  158. -                 else{
  159. -                     int_error("expecting filename",c_token);
  160. -                 }
  161. -             }
  162. - #else
  163.                   int_error("expecting filename",c_token);
  164. - #endif
  165.               else {
  166.                   quote_str(sv_file,c_token);
  167.                   save_variables(fopen(sv_file,"w"));
  168. --- 286,292 ----
  169. ***************
  170. *** 333,354 ****
  171.           }
  172.           else if (almost_equals(c_token,"s$et")) {
  173.               if (!isstring(++c_token))
  174. - #ifdef THINK_C
  175. -             {     Point where={97,103};
  176. -                 SFReply reply;
  177. -                 
  178. -                 SFPutFile(where,NULL, NULL,NULL, &reply);
  179. -                 if( (reply.good) && (SetVol(reply.fName,reply.vRefNum) == noErr)){
  180. -                     PtoCstr((char *) reply.fName);
  181. -                     save_set(fopen((char *) reply.fName,"w"));    
  182. -                 }
  183. -                 else{
  184. -                     int_error("expecting filename",c_token);
  185. -                 }
  186. -             }
  187. - #else
  188.                   int_error("expecting filename",c_token);
  189. - #endif
  190.               else {
  191.                   quote_str(sv_file,c_token);
  192.                   save_set(fopen(sv_file,"w"));
  193. --- 294,300 ----
  194. ***************
  195. *** 359,406 ****
  196.               save_all(fopen(sv_file,"w"));
  197.           }
  198.           else {
  199. - #ifdef THINK_C
  200. -             Point where={97,103};
  201. -             SFReply reply;
  202. -             
  203. -             SFPutFile(where,NULL, NULL,NULL, &reply);
  204. -             if( (reply.good) && (SetVol(reply.fName,reply.vRefNum) == noErr)){
  205. -                 PtoCstr((char *) reply.fName);
  206. -                 save_all(fopen((char *) reply.fName,"w"));    
  207. -             }
  208. -             else{
  209. -                 int_error(
  210. -                 "filename or keyword 'functions', 'variables', or 'set' expected",
  211. -                 c_token);
  212. -             }
  213. - #else
  214.               int_error(
  215.           "filename or keyword 'functions', 'variables', or 'set' expected",
  216.                       c_token);
  217. - #endif
  218.           }
  219.           c_token++;
  220.       }
  221.       else if (almost_equals(c_token,"l$oad")) {
  222.           if (!isstring(++c_token))
  223. - #ifdef THINK_C
  224. -         {     Point where={97,103};
  225. -             SFReply reply;
  226. -             
  227. -             SFGetFile(where,NULL, NULL, -1,NULL,NULL, &reply);
  228. -             if( (reply.good) && (SetVol(reply.fName,reply.vRefNum) == noErr)){
  229. -                 PtoCstr((char *) reply.fName);
  230. -                 strcpy(sv_file,(char *) reply.fName);
  231. -                 printf("loading  %s \n",sv_file);
  232. -                 load_file(fopen((char *)reply.fName,"r"),(char *) reply.fName);    
  233. -                 c_token = num_tokens = 0;
  234. -             }
  235. -             else
  236. -                 int_error("expecting filename",c_token);
  237. -         }
  238. - #else
  239.               int_error("expecting filename",c_token);
  240. - #endif
  241.           else {
  242.               quote_str(sv_file,c_token);
  243.               load_file(fopen(sv_file,"r"), sv_file);    
  244. --- 305,319 ----
  245. ***************
  246. *** 2044,2050 ****
  247.       }
  248.   
  249.       if (samples < 2 || iso_samples < 2)
  250. !     int_error("samples or iso_samples < 2. Must be at least 2.\n",NO_CARET);
  251.   
  252.       xdiff = (x_max - x_min) / (samples - 1);
  253.       ydiff = (y_max - y_min) / (samples - 1);
  254. --- 1957,1963 ----
  255.       }
  256.   
  257.       if (samples < 2 || iso_samples < 2)
  258. !     int_error("samples or iso_samples < 2. Must be at least 2.\n");
  259.   
  260.       xdiff = (x_max - x_min) / (samples - 1);
  261.       ydiff = (y_max - y_min) / (samples - 1);
  262. ***************
  263. *** 2441,2447 ****
  264.      /* Ok, fix up the title to include both the xp and yp plots. */
  265.           if (xp->title && xp->title[0] != '\0') {
  266.               tlen = strlen (yp->title) + strlen (xp->title) + 3;
  267. !               new_title = alloc ((unsigned int) tlen, "string");
  268.               strcpy (new_title, xp->title);  
  269.               strcat (new_title, ", ");       /* + 2 */
  270.               strcat (new_title, yp->title);  /* + 1 = + 3 */
  271. --- 2354,2360 ----
  272.      /* Ok, fix up the title to include both the xp and yp plots. */
  273.           if (xp->title && xp->title[0] != '\0') {
  274.               tlen = strlen (yp->title) + strlen (xp->title) + 3;
  275. !           new_title = alloc ((unsigned int) tlen, "string");
  276.               strcpy (new_title, xp->title);  
  277.               strcat (new_title, ", ");       /* + 2 */
  278.               strcat (new_title, yp->title);  /* + 1 = + 3 */
  279. ***************
  280. *** 2623,2629 ****
  281.               tlen = (xp->title ? strlen(xp->title) : 0) +
  282.                      (yp->title ? strlen(yp->title) : 0) +
  283.                      (zp->title ? strlen(zp->title) : 0) + 5;
  284. !             new_title = alloc ((size_t) tlen, "string");
  285.               new_title[0] = 0;
  286.               if (xp->title) {
  287.                   strcat(new_title, xp->title);
  288. --- 2536,2542 ----
  289.               tlen = (xp->title ? strlen(xp->title) : 0) +
  290.                      (yp->title ? strlen(yp->title) : 0) +
  291.                      (zp->title ? strlen(zp->title) : 0) + 5;
  292. !             new_title = alloc ((unsigned int) tlen, "string");
  293.               new_title[0] = 0;
  294.               if (xp->title) {
  295.                   strcat(new_title, xp->title);
  296. ***************
  297. *** 2828,2840 ****
  298.   
  299.   do_shell()
  300.   {
  301. - #ifdef THINK_C
  302. -         int_error("'shell' is not supported on this version.",c_token);
  303. - #else
  304.       if ((vaxc$errno = lib$spawn()) != SS$_NORMAL) {
  305.           os_error("spawn error",NO_CARET);
  306.       }
  307. - #endif
  308.   }
  309.   
  310.   
  311. --- 2741,2749 ----
  312. ***************
  313. *** 2882,2889 ****
  314.       /* huge static variables (1k each). Instead we dynamically allocate them */
  315.       /* on the first call to this function...                     */
  316.       if (helpbuf == NULL) {
  317. !     helpbuf = alloc((size_t) MAX_LINE_LEN, "help buffer");
  318. !     prompt = alloc((size_t) MAX_LINE_LEN, "help prompt");
  319.       helpbuf[0] = prompt[0] = 0;
  320.       }
  321.   
  322. --- 2791,2798 ----
  323.       /* huge static variables (1k each). Instead we dynamically allocate them */
  324.       /* on the first call to this function...                     */
  325.       if (helpbuf == NULL) {
  326. !     helpbuf = alloc(MAX_LINE_LEN, "help buffer");
  327. !     prompt = alloc(MAX_LINE_LEN, "help prompt");
  328.       helpbuf[0] = prompt[0] = 0;
  329.       }
  330.   
  331. diff -c src/command.c ../gnuplot/command.csrc/contour.c ../gnuplot/contour.c
  332. *** src/contour.c    Wed Jan 22 08:10:28 1992
  333. --- ../gnuplot/contour.c    Fri Jul 19 03:55:53 1991
  334. ***************
  335. *** 217,223 ****
  336.                             "gnuplot_contour");
  337.   
  338.       cntr->coords = (struct coordinate *) alloc(sizeof(struct coordinate) *
  339. !                              (size_t) crnt_cntr_pt_index,
  340.                              "contour coords");
  341.       for (i=0; i<crnt_cntr_pt_index; i++) {
  342.       cntr->coords[i].x = crnt_cntr[i * 2];
  343. --- 217,223 ----
  344.                             "gnuplot_contour");
  345.   
  346.       cntr->coords = (struct coordinate *) alloc(sizeof(struct coordinate) *
  347. !                               crnt_cntr_pt_index,
  348.                              "contour coords");
  349.       for (i=0; i<crnt_cntr_pt_index; i++) {
  350.       cntr->coords[i].x = crnt_cntr[i * 2];
  351. ***************
  352. *** 903,911 ****
  353.       double dt, *tangents_x, *tangents_y;
  354.       int i;
  355.   
  356. !     tangents_x = (double *) alloc((size_t) (sizeof(double) * n),
  357.                           "contour c_s_intr");
  358. !     tangents_y = (double *) alloc((size_t) (sizeof(double) * n),
  359.                           "contour c_s_intr");
  360.   
  361.       if (n > 1) prepare_spline_interp(tangents_x, tangents_y, p_cntr, n,
  362. --- 903,911 ----
  363.       double dt, *tangents_x, *tangents_y;
  364.       int i;
  365.   
  366. !     tangents_x = (double *) alloc((unsigned) (sizeof(double) * n),
  367.                           "contour c_s_intr");
  368. !     tangents_y = (double *) alloc((unsigned) (sizeof(double) * n),
  369.                           "contour c_s_intr");
  370.   
  371.       if (n > 1) prepare_spline_interp(tangents_x, tangents_y, p_cntr, n,
  372. ***************
  373. *** 942,948 ****
  374.       int i;
  375.       double t, dt;
  376.   
  377. !     hermit_table = (table_entry *) alloc ((size_t) (sizeof(table_entry) *
  378.                           (num_approx_pts + 1)),
  379.                           "contour hermit table");
  380.       t = 0;
  381. --- 942,948 ----
  382.       int i;
  383.       double t, dt;
  384.   
  385. !     hermit_table = (table_entry *) alloc ((unsigned) (sizeof(table_entry) *
  386.                           (num_approx_pts + 1)),
  387.                           "contour hermit table");
  388.       t = 0;
  389. ***************
  390. *** 1016,1024 ****
  391.       tri_diag *m;           /* The tri-diagonal matrix is saved here. */
  392.       struct cntr_struct *p;
  393.   
  394. !     m = (tri_diag *) alloc((size_t) (sizeof(tri_diag) * n),
  395.                           "contour tri_diag");
  396. !     r = (double *) alloc((size_t) (sizeof(double) * n),
  397.                           "contour tri_diag2");
  398.       n--;
  399.   
  400. --- 1016,1024 ----
  401.       tri_diag *m;           /* The tri-diagonal matrix is saved here. */
  402.       struct cntr_struct *p;
  403.   
  404. !     m = (tri_diag *) alloc((unsigned) (sizeof(tri_diag) * n),
  405.                           "contour tri_diag");
  406. !     r = (double *) alloc((unsigned) (sizeof(double) * n),
  407.                           "contour tri_diag2");
  408.       n--;
  409.   
  410. ***************
  411. *** 1182,1190 ****
  412.       int i, p;
  413.       double ti, tikp, *dx, *dy;      /* Copy p_cntr into it to make it faster. */
  414.   
  415. !     dx = (double *) alloc((size_t) (sizeof(double) * (order + j)),
  416.                           "contour b_spline");
  417. !     dy = (double *) alloc((size_t) (sizeof(double) * (order + j)),
  418.                           "contour b_spline");
  419.       /* Set the dx/dy - [0] iteration step, control points (p==0 iterat.): */
  420.       for (i=j-order; i<=j; i++) {
  421. --- 1182,1190 ----
  422.       int i, p;
  423.       double ti, tikp, *dx, *dy;      /* Copy p_cntr into it to make it faster. */
  424.   
  425. !     dx = (double *) alloc((unsigned) (sizeof(double) * (order + j)),
  426.                           "contour b_spline");
  427. !     dy = (double *) alloc((unsigned) (sizeof(double) * (order + j)),
  428.                           "contour b_spline");
  429.       /* Set the dx/dy - [0] iteration step, control points (p==0 iterat.): */
  430.       for (i=j-order; i<=j; i++) {
  431. Only in ../gnuplot: demo
  432. Only in ../gnuplot: docs
  433. Only in src: dummyroutines.c
  434. diff -c src/contour.c ../gnuplot/contour.csrc/eval.c ../gnuplot/eval.c
  435. *** src/eval.c    Wed Jan 22 08:10:56 1992
  436. --- ../gnuplot/eval.c    Fri Jul 19 03:56:29 1991
  437. ***************
  438. *** 63,69 ****
  439.       }
  440.   
  441.       *udv_ptr = (struct udvt_entry *)
  442. !       alloc((size_t)sizeof(struct udvt_entry), "value");
  443.       (*udv_ptr)->next_udv = NULL;
  444.       copy_str((*udv_ptr)->udv_name,t_num);
  445.       (*udv_ptr)->udv_value.type = INT;    /* not necessary, but safe! */
  446. --- 63,69 ----
  447.       }
  448.   
  449.       *udv_ptr = (struct udvt_entry *)
  450. !       alloc((unsigned int)sizeof(struct udvt_entry), "value");
  451.       (*udv_ptr)->next_udv = NULL;
  452.       copy_str((*udv_ptr)->udv_name,t_num);
  453.       (*udv_ptr)->udv_value.type = INT;    /* not necessary, but safe! */
  454. ***************
  455. *** 84,90 ****
  456.           udf_ptr = &((*udf_ptr)->next_udf);
  457.       }
  458.        *udf_ptr = (struct udft_entry *)
  459. !       alloc((size_t)sizeof(struct udft_entry), "function");
  460.       (*udf_ptr)->next_udf = (struct udft_entry *) NULL;
  461.       (*udf_ptr)->definition = NULL;
  462.       (*udf_ptr)->at = NULL;
  463. --- 84,90 ----
  464.           udf_ptr = &((*udf_ptr)->next_udf);
  465.       }
  466.        *udf_ptr = (struct udft_entry *)
  467. !       alloc((unsigned int)sizeof(struct udft_entry), "function");
  468.       (*udf_ptr)->next_udf = (struct udft_entry *) NULL;
  469.       (*udf_ptr)->definition = NULL;
  470.       (*udf_ptr)->at = NULL;
  471. diff -c src/eval.c ../gnuplot/eval.csrc/graph3d.c ../gnuplot/graph3d.c
  472. *** src/graph3d.c    Wed Jan 22 08:24:06 1992
  473. --- ../gnuplot/graph3d.c    Sat Sep 21 01:36:52 1991
  474. ***************
  475. *** 36,44 ****
  476.   #include "setshow.h"
  477.   
  478.   extern char *strcpy(),*strncpy(),*strcat(),*ctime(),*tdate;
  479. - #ifdef THINK_C
  480. - extern time_t dated,time();
  481. - #else
  482.   #ifdef AMIGA_AC_5
  483.   extern time_t dated;
  484.   #else
  485. --- 36,41 ----
  486. ***************
  487. *** 48,54 ****
  488.   extern long dated,time();
  489.   #endif
  490.   #endif
  491. - #endif
  492.   
  493.   static plot3d_impulses();
  494.   static plot3d_lines();
  495. --- 45,50 ----
  496. ***************
  497. *** 612,618 ****
  498.   
  499.           x = time_xoffset * t->h_char;
  500.           y = time_yoffset * t->v_char;
  501. !         dated = time( (time_t *) 0);
  502.           tdate = ctime( &dated);
  503.           tdate[24]='\0';
  504.           if ((*t->text_angle)(1)) {
  505. --- 608,614 ----
  506.   
  507.           x = time_xoffset * t->h_char;
  508.           y = time_yoffset * t->v_char;
  509. !         dated = time( (long *) 0);
  510.           tdate = ctime( &dated);
  511.           tdate[24]='\0';
  512.           if ((*t->text_angle)(1)) {
  513. diff -c src/graph3d.c ../gnuplot/graph3d.csrc/graphics.c ../gnuplot/graphics.c
  514. *** src/graphics.c    Sat Jan 25 11:53:48 1992
  515. --- ../gnuplot/graphics.c    Tue Sep 10 05:13:19 1991
  516. ***************
  517. *** 43,51 ****
  518.   
  519.   extern char *strcpy(),*strncpy(),*strcat(),*ctime();
  520.   char *tdate;
  521. - #ifdef THINK_C
  522. - time_t dated,time();
  523. - #else
  524.   #ifdef AMIGA_AC_5
  525.   time_t dated;
  526.   #else
  527. --- 43,48 ----
  528. ***************
  529. *** 55,61 ****
  530.   long dated,time();
  531.   #endif
  532.   #endif
  533. - #endif
  534.   
  535.   void plot_impulses();
  536.   void plot_lines();
  537. --- 52,57 ----
  538. ***************
  539. *** 197,202 ****
  540. --- 193,199 ----
  541.       return(tic);
  542.   }
  543.   
  544.   do_plot(plots, pcount, min_x, max_x, min_y, max_y)
  545.   struct curve_points *plots;
  546.   int pcount;            /* count of plots in linked list */
  547. ***************
  548. *** 463,469 ****
  549.   
  550.           x = time_xoffset * t->h_char;
  551.           y = time_yoffset * t->v_char;
  552. !         dated = time( (time_t *) 0);
  553.           tdate = ctime( &dated);
  554.           tdate[24]='\0';
  555.           if ((*t->text_angle)(1)) {
  556. --- 460,466 ----
  557.   
  558.           x = time_xoffset * t->h_char;
  559.           y = time_yoffset * t->v_char;
  560. !         dated = time( (long *) 0);
  561.           tdate = ctime( &dated);
  562.           tdate[24]='\0';
  563.           if ((*t->text_angle)(1)) {
  564. ***************
  565. *** 1387,1393 ****
  566.            xtick(place, xformat, spacing, 1.0);
  567.       }
  568.   }
  569. - #ifndef THINK_C
  570.   
  571.   /* DRAW_SET_YTICS: draw a user tic set, y axis */
  572.   draw_set_ytics(list)
  573. --- 1384,1389 ----
  574. ***************
  575. *** 1426,1431 ****
  576. --- 1422,1428 ----
  577.          list = list->next;
  578.       }
  579.   }
  580.   /* draw and label a y-axis ticmark */
  581.   ytick(place, text, spacing, ticscale)
  582.           double place;                   /* where on axis to put it */
  583. ***************
  584. *** 1563,1566 ****
  585.        }
  586.       }
  587.   }
  588. - #endif
  589. --- 1560,1562 ----
  590. Only in src: graphics_1.c
  591. Only in src: graphics_2.c
  592. diff -c src/graphics.c ../gnuplot/graphics.csrc/help.c ../gnuplot/help.c
  593. *** src/help.c    Sun Feb  2 09:18:21 1992
  594. --- ../gnuplot/help.c    Thu Jul 25 00:44:31 1991
  595. ***************
  596. *** 155,161 ****
  597.   };
  598.   static LINKEY *keylist = NULL;    /* linked list of keys */
  599.   static KEY *keys = NULL;        /* array of keys */
  600. ! static size_t keycount = 0;        /* number of keys */
  601.   static FILE *helpfp = NULL;
  602.   
  603.   static int LoadHelp();
  604. --- 155,161 ----
  605.   };
  606.   static LINKEY *keylist = NULL;    /* linked list of keys */
  607.   static KEY *keys = NULL;        /* array of keys */
  608. ! static int keycount = 0;        /* number of keys */
  609.   static FILE *helpfp = NULL;
  610.   
  611.   static int LoadHelp();
  612. ***************
  613. *** 310,316 ****
  614.       if (new == NULL)
  615.        int_error("not enough memory to store help file", -1);
  616.       if (text != NULL) {
  617. !        new->line = (char *) malloc((size_t)(strlen(text)+1));
  618.          if (new->line == NULL)
  619.           int_error("not enough memory to store help file", -1);
  620.          (void) strcpy(new->line, text);
  621. --- 310,316 ----
  622.       if (new == NULL)
  623.        int_error("not enough memory to store help file", -1);
  624.       if (text != NULL) {
  625. !        new->line = (char *) malloc((unsigned int)(strlen(text)+1));
  626.          if (new->line == NULL)
  627.           int_error("not enough memory to store help file", -1);
  628.          (void) strcpy(new->line, text);
  629. ***************
  630. *** 334,340 ****
  631.       new = (LINKEY *)malloc(sizeof(LINKEY));
  632.       if (new == NULL)
  633.        int_error("not enough memory to store help file", -1);
  634. !     new->key = (char *) malloc((size_t)(strlen(key)+1));
  635.       if (new->key == NULL)
  636.        int_error("not enough memory to store help file", -1);
  637.       (void) strcpy(new->key, key);
  638. --- 334,340 ----
  639.       new = (LINKEY *)malloc(sizeof(LINKEY));
  640.       if (new == NULL)
  641.        int_error("not enough memory to store help file", -1);
  642. !     new->key = (char *) malloc((unsigned int)(strlen(key)+1));
  643.       if (new->key == NULL)
  644.        int_error("not enough memory to store help file", -1);
  645.       (void) strcpy(new->key, key);
  646. ***************
  647. *** 358,364 ****
  648.       int i;                /* index into key array */
  649.       
  650.       /* allocate the array */
  651. !     keys = (KEY *)malloc((size_t)((keycount+1) * sizeof(KEY)));
  652.       if (keys == NULL)
  653.        int_error("not enough memory to store help file", -1);
  654.       
  655. --- 358,364 ----
  656.       int i;                /* index into key array */
  657.       
  658.       /* allocate the array */
  659. !     keys = (KEY *)malloc((unsigned int)((keycount+1) * sizeof(KEY)));
  660.       if (keys == NULL)
  661.        int_error("not enough memory to store help file", -1);
  662.       
  663. diff -c src/help.c ../gnuplot/help.csrc/misc.c ../gnuplot/misc.c
  664. *** src/misc.c    Wed Jan 22 08:12:52 1992
  665. --- ../gnuplot/misc.c    Fri Aug 23 02:20:15 1991
  666. ***************
  667. *** 43,57 ****
  668.   #include <graphics.h>
  669.   #endif
  670.   
  671. ! #ifdef THINK_C
  672. ! extern void *malloc();
  673. ! extern void *realloc();
  674. ! #else
  675. ! #ifndef _IBMR2 
  676.   extern char *malloc();
  677.   extern char *realloc();
  678.   #endif
  679. - #endif
  680.   
  681.   extern int c_token;
  682.   extern char replot_line[];
  683. --- 43,52 ----
  684.   #include <graphics.h>
  685.   #endif
  686.   
  687. ! #ifndef _IBMR2
  688.   extern char *malloc();
  689.   extern char *realloc();
  690.   #endif
  691.   
  692.   extern int c_token;
  693.   extern char replot_line[];
  694. ***************
  695. *** 118,124 ****
  696.       cp->p_max = (num >= 0 ? num : 0);
  697.       if (num > 0) {
  698.          cp->points = (struct coordinate *)
  699. !         alloc((size_t) num * sizeof(struct coordinate), "curve points");
  700.       } else
  701.          cp->points = (struct coordinate *) NULL;
  702.       cp->next_cp = NULL;
  703. --- 113,119 ----
  704.       cp->p_max = (num >= 0 ? num : 0);
  705.       if (num > 0) {
  706.          cp->points = (struct coordinate *)
  707. !         alloc(num * sizeof(struct coordinate), "curve points");
  708.       } else
  709.          cp->points = (struct coordinate *) NULL;
  710.       cp->next_cp = NULL;
  711. ***************
  712. *** 151,160 ****
  713.       if (num > 0) {
  714.          if (cp->points == NULL) {
  715.             cp->points = (struct coordinate *)
  716. !             alloc((size_t) num * sizeof(struct coordinate), "curve points");
  717.          } else {
  718.             new = (struct coordinate *)
  719. !             realloc(cp->points, (size_t) num * sizeof(struct coordinate));
  720.             if (new == (struct coordinate *) NULL) {
  721.                int_error("No memory available for expanding curve points",
  722.                        NO_CARET);
  723. --- 146,155 ----
  724.       if (num > 0) {
  725.          if (cp->points == NULL) {
  726.             cp->points = (struct coordinate *)
  727. !             alloc(num * sizeof(struct coordinate), "curve points");
  728.          } else {
  729.             new = (struct coordinate *)
  730. !             realloc(cp->points, num * sizeof(struct coordinate));
  731.             if (new == (struct coordinate *) NULL) {
  732.                int_error("No memory available for expanding curve points",
  733.                        NO_CARET);
  734. ***************
  735. *** 197,207 ****
  736.       int num;
  737.   {
  738.       struct iso_curve *ip;
  739. !     ip = (struct iso_curve *) alloc((size_t) sizeof(struct iso_curve), "iso curve");
  740.       ip->p_max = (num >= 0 ? num : 0);
  741.       if (num > 0) {
  742.          ip->points = (struct coordinate *)
  743. !         alloc(((size_t) num) * sizeof(struct coordinate), "iso curve points");
  744.       } else
  745.          ip->points = (struct coordinate *) NULL;
  746.       ip->next = NULL;
  747. --- 192,202 ----
  748.       int num;
  749.   {
  750.       struct iso_curve *ip;
  751. !     ip = (struct iso_curve *) alloc(sizeof(struct iso_curve), "iso curve");
  752.       ip->p_max = (num >= 0 ? num : 0);
  753.       if (num > 0) {
  754.          ip->points = (struct coordinate *)
  755. !         alloc(num * sizeof(struct coordinate), "iso curve points");
  756.       } else
  757.          ip->points = (struct coordinate *) NULL;
  758.       ip->next = NULL;
  759. ***************
  760. *** 232,241 ****
  761.       if (num > 0) {
  762.          if (ip->points == NULL) {
  763.             ip->points = (struct coordinate *)
  764. !             alloc(((size_t) num) * sizeof(struct coordinate), "iso curve points");
  765.          } else {
  766.             new = (struct coordinate *)
  767. !             realloc(ip->points,((size_t) num) * sizeof(struct coordinate));
  768.             if (new == (struct coordinate *) NULL) {
  769.                int_error("No memory available for expanding curve points",
  770.                        NO_CARET);
  771. --- 227,236 ----
  772.       if (num > 0) {
  773.          if (ip->points == NULL) {
  774.             ip->points = (struct coordinate *)
  775. !             alloc(num * sizeof(struct coordinate), "iso curve points");
  776.          } else {
  777.             new = (struct coordinate *)
  778. !             realloc(ip->points, num * sizeof(struct coordinate));
  779.             if (new == (struct coordinate *) NULL) {
  780.                int_error("No memory available for expanding curve points",
  781.                        NO_CARET);
  782. ***************
  783. *** 848,862 ****
  784.    * so it depends on this using malloc().
  785.    */
  786.   
  787. - #ifdef THINK_C
  788. - void *
  789. - alloc(size, message)
  790. -     size_t size;                /* # of bytes */
  791. - #else
  792.   char *
  793.   alloc(size, message)
  794.       unsigned int size;                /* # of bytes */
  795. - #endif
  796.       char *message;            /* description of what is being allocated */
  797.   {
  798.       char *p;                /* the new allocation */
  799. --- 843,851 ----
  800. diff -c src/misc.c ../gnuplot/misc.csrc/parse.c ../gnuplot/parse.c
  801. *** src/parse.c    Mon Jan 27 12:28:16 1992
  802. --- ../gnuplot/parse.c    Fri Sep  6 23:00:07 1991
  803. ***************
  804. *** 62,67 ****
  805. --- 62,68 ----
  806.   static jmp_buf fpe_env;
  807.   
  808.   #define dummy (struct value *) 0
  809.   #ifdef __TURBOC__
  810.   void fpe()
  811.   #else
  812. ***************
  813. *** 74,92 ****
  814.   int an_int;
  815.   #else
  816.   fpe()
  817. ! #endif /* _CRAY */
  818. ! #endif /* __ZTC__ */
  819. ! #endif /* __TURBOC__ */
  820.   {
  821.   #ifdef PC    /* thanks to lotto@wjh12.UUCP for telling us about this  */
  822.       _fpreset();
  823.   #endif
  824. !     (void) signal(SIGFPE,
  825. !     #ifdef THINK_C 
  826. !     (__sig_func)
  827. !     #endif
  828. !      fpe);
  829.       undefined = TRUE;
  830.       longjmp(fpe_env, TRUE);
  831.   }
  832. --- 75,88 ----
  833.   int an_int;
  834.   #else
  835.   fpe()
  836. ! #endif
  837. ! #endif
  838. ! #endif
  839.   {
  840.   #ifdef PC    /* thanks to lotto@wjh12.UUCP for telling us about this  */
  841.       _fpreset();
  842.   #endif
  843. !     (void) signal(SIGFPE, fpe);
  844.       undefined = TRUE;
  845.       longjmp(fpe_env, TRUE);
  846.   }
  847. ***************
  848. *** 134,144 ****
  849.       reset_stack();
  850.       if (setjmp(fpe_env))
  851.           return;                /* just bail out */
  852. !     (void) signal(SIGFPE, 
  853. !     #ifdef THINK_C
  854. !     (__sig_func)
  855. !     #endif
  856. !     fpe);    /* catch core dumps on FPEs */
  857.   
  858.       execute_at(at_ptr);
  859.   
  860. --- 130,136 ----
  861.       reset_stack();
  862.       if (setjmp(fpe_env))
  863.           return;                /* just bail out */
  864. !     (void) signal(SIGFPE, fpe);    /* catch core dumps on FPEs */
  865.   
  866.       execute_at(at_ptr);
  867.   
  868. ***************
  869. *** 188,199 ****
  870.   perm_at()
  871.   {
  872.   register struct at_type *at_ptr;
  873. ! register size_t len;
  874.   
  875.       (void) temp_at();
  876.       len = sizeof(struct at_type) -
  877.           (MAX_AT_LEN - at.a_count)*sizeof(struct at_entry);
  878. !     at_ptr = (struct at_type *) alloc((size_t) len, "action table");
  879.        (void) memcpy(at_ptr,&at,len);
  880.       return(at_ptr);
  881.   }
  882. --- 180,191 ----
  883.   perm_at()
  884.   {
  885.   register struct at_type *at_ptr;
  886. ! register unsigned int len;
  887.   
  888.       (void) temp_at();
  889.       len = sizeof(struct at_type) -
  890.           (MAX_AT_LEN - at.a_count)*sizeof(struct at_entry);
  891. !     at_ptr = (struct at_type *) alloc(len, "action table");
  892.        (void) memcpy(at_ptr,&at,len);
  893.       return(at_ptr);
  894.   }
  895. ***************
  896. *** 205,211 ****
  897.    */
  898.   memcpy(dest,src,len)
  899.   char *dest,*src;
  900. ! size_t len;
  901.   {
  902.       while (len--)
  903.           *dest++ = *src++;
  904. --- 197,203 ----
  905.    */
  906.   memcpy(dest,src,len)
  907.   char *dest,*src;
  908. ! unsigned int len;
  909.   {
  910.       while (len--)
  911.           *dest++ = *src++;
  912. diff -c src/parse.c ../gnuplot/parse.csrc/plot.c ../gnuplot/plot.c
  913. *** src/plot.c    Tue Jan 21 10:05:36 1992
  914. --- ../gnuplot/plot.c    Fri Sep  6 01:19:10 1991
  915. ***************
  916. *** 132,139 ****
  917.   #ifdef vms
  918.   
  919.   #define HOME "sys$login:"
  920. - #elif  THINK_C
  921. - #define HOME ":"
  922.   
  923.   #else /* vms */
  924.   #ifdef MSDOS
  925. --- 132,137 ----
  926. ***************
  927. *** 155,162 ****
  928.   
  929.   #ifdef unix
  930.   #define PLOTRC ".gnuplot"
  931. - #elif THINK_C
  932. - #define PLOTRC ":gnuplot.ini"
  933.   #else /* unix */
  934.   #if defined(AMIGA_AC_5) || defined(AMIGA_LC_5_1)
  935.   #define PLOTRC ".gnuplot"
  936. --- 153,158 ----
  937. ***************
  938. *** 183,190 ****
  939.       void ss_interrupt();
  940.       (void) signal(SIGINT, ss_interrupt);
  941.   #endif
  942. - #elif THINK_C
  943. -     (void) signal(SIGINT, (__sig_func) inter);
  944.   #else  /* MSDOS */
  945.       (void) signal(SIGINT, inter);
  946.   #endif  /* MSDOS */
  947. --- 179,184 ----
  948. ***************
  949. *** 196,215 ****
  950.       longjmp(env, TRUE);        /* return to prompt */
  951.   }
  952.   
  953. - #ifdef THINK_C
  954. - #include <console.h>
  955. - main()
  956. - {
  957. -     int argc;
  958. -     char **argv;
  959.   
  960. -   argc=ccommand(&argv);
  961. -   unix_main(argc,argv);
  962. -  }
  963. - unix_main(argc,argv)
  964. - #else
  965.   main(argc, argv)
  966. - #endif
  967.       int argc;
  968.       char **argv;
  969.   {
  970. --- 190,197 ----
  971. ***************
  972. *** 310,317 ****
  973.           save_stack();                /* work-around for MSC 4.0/MSDOS 3.x bug */
  974.           (void) signal(SIGINT, ss_interrupt);
  975.   #endif
  976. - #elif THINK_C 
  977. -     (void) signal(SIGINT, (__sig_func) inter);
  978.   #else /* MSDOS */
  979.           (void) signal(SIGINT, inter);    /* go there on interrupt char */
  980.   #endif /* MSDOS */
  981. --- 292,297 ----
  982. ***************
  983. *** 328,335 ****
  984.       /* Look for a gnuplot init file in . or home directory */
  985.   #ifdef vms
  986.       (void) strcpy(home,HOME);
  987. - #elif THINK_C
  988. -     (void) strcat(strcpy(home,getenv(HOME)),":");
  989.   #else /* vms */
  990.   #if defined(AMIGA_AC_5) || defined(AMIGA_LC_5_1)
  991.       strcpy(home,getenv(HOME));
  992. --- 308,313 ----
  993. diff -c src/plot.c ../gnuplot/plot.csrc/plot.h ../gnuplot/plot.h
  994. *** src/plot.h    Wed Feb  5 10:42:39 1992
  995. --- ../gnuplot/plot.h    Fri Sep  6 01:19:11 1991
  996. ***************
  997. *** 33,45 ****
  998.    * Send bug reports to
  999.    *  pixar!bug-gnuplot@sun.com.
  1000.    */
  1001. - #ifdef THINK_C
  1002. - #define macintosh 0
  1003. - #include <stdlib.h>
  1004. - void * alloc(size_t size, char *message);
  1005. - #define HELPFILE ":docs:gnuplot.gih" /* changed by makefile */
  1006. - #define TERM "TC_console"
  1007. - #endif
  1008.   
  1009.   #define PROGRAM "G N U P L O T"
  1010.   #define PROMPT "gnuplot> "
  1011. --- 33,38 ----
  1012. ***************
  1013. *** 69,81 ****
  1014.   #define MIN_CRV_POINTS 100        /* minimum size of points[] in curve_points */
  1015.   #define MIN_SRF_POINTS 1000        /* minimum size of points[] in surface_points */
  1016.   
  1017. - #ifdef THINK_C
  1018. -     #define MAX_LINE_LEN 256    /* maximum number of chars allowed on line */
  1019. -     #define MAX_TOKENS 64
  1020. -     #define MAX_ID_LEN 32        /* max length of an identifier */
  1021. -     #define MAX_AT_LEN 64        /* max number of entries in action table */
  1022. -     #define STACK_DEPTH 32
  1023. - #else
  1024.   #define MAX_LINE_LEN 1024    /* maximum number of chars allowed on line */
  1025.   #define MAX_TOKENS 200
  1026.   #define MAX_ID_LEN 50        /* max length of an identifier */
  1027. --- 62,67 ----
  1028. ***************
  1029. *** 83,89 ****
  1030.   
  1031.   #define MAX_AT_LEN 150        /* max number of entries in action table */
  1032.   #define STACK_DEPTH 100
  1033. - #endif
  1034.   #define NO_CARET (-1)
  1035.   
  1036.   
  1037. --- 69,74 ----
  1038. ***************
  1039. *** 125,133 ****
  1040.   #define OS "MS-DOS "
  1041.   #endif
  1042.   
  1043. - #ifdef THINK_C
  1044. - #define OS "Mac-OS (with THINK_C 5.0) "
  1045. - #endif
  1046.   
  1047.   #ifndef OS
  1048.   #define OS ""
  1049. --- 110,115 ----
  1050. ***************
  1051. *** 148,160 ****
  1052.   #ifdef PC
  1053.   #include <float.h>
  1054.   #define VERYLARGE FLT_MAX
  1055. - #elif THINK_C
  1056. - #include <float.h>
  1057. - #define VERYLARGE DBL_MAX
  1058. - #define MEMCPY
  1059. - #undef NOCOPY
  1060. - #define NOGAMMA
  1061. - #define MEMSET
  1062.   #else
  1063.   #if defined( vms ) || defined( _CRAY ) || defined( NEXT )
  1064.   #include <float.h>
  1065. --- 130,135 ----
  1066. ***************
  1067. *** 212,218 ****
  1068.   # else 
  1069.   #  ifdef NOCOPY
  1070.       /* use the handwritten memcpy in parse.c */
  1071. - extern int memcpy(char *,char *,size_t);
  1072.   #  else
  1073.       /* assume bcopy is in use */
  1074.   #   define memcpy(dest,src,len) bcopy(src,dest,len)
  1075. --- 187,192 ----
  1076. ***************
  1077. *** 225,235 ****
  1078.    * else, define bzero to that something.
  1079.    */
  1080.   #if defined(MEMSET) || defined(MSDOS)
  1081. ! #define bzero(dest,len)  (void)(memset((void *) dest, (char)NULL, (size_t) len))
  1082.   #endif /* MEMSET || MSDOS */
  1083.   
  1084.   /* Give the name of your gamma function, or undefine it if you have none.  */
  1085. ! #if defined(NOGAMMA) || defined(MSDOS) 
  1086.   # undef GAMMA
  1087.   #else
  1088.   # ifndef GAMMA
  1089. --- 199,209 ----
  1090.    * else, define bzero to that something.
  1091.    */
  1092.   #if defined(MEMSET) || defined(MSDOS)
  1093. ! #define bzero(dest,len)  (void)(memset(dest, (char)NULL, len))
  1094.   #endif /* MEMSET || MSDOS */
  1095.   
  1096.   /* Give the name of your gamma function, or undefine it if you have none.  */
  1097. ! #if defined(NOGAMMA) || defined(MSDOS)
  1098.   # undef GAMMA
  1099.   #else
  1100.   # ifndef GAMMA
  1101. ***************
  1102. *** 487,495 ****
  1103.   extern BOOLEAN undefined;
  1104.   extern struct termentry term_tbl[];
  1105.   
  1106. - #ifndef THINK_C
  1107.   extern char *alloc();
  1108. - #endif
  1109.   /* allocating and managing curve_points structures */
  1110.   extern struct curve_points *cp_alloc();
  1111.   extern int cp_extend();
  1112. --- 461,467 ----
  1113. diff -c src/plot.h ../gnuplot/plot.hsrc/readline.c ../gnuplot/readline.c
  1114. *** src/readline.c    Wed Jan 22 08:15:37 1992
  1115. --- ../gnuplot/readline.c    Wed Sep 11 05:19:46 1991
  1116. ***************
  1117. *** 332,338 ****
  1118.                   case '\r': /* ^M */
  1119.                   cur_line[max_pos+1] = '\0';
  1120.                   putc('\n', stderr);
  1121. !                 new_line = malloc((size_t) strlen(cur_line)+1);
  1122.                   strcpy(new_line,cur_line);
  1123.                   reset_termio();
  1124.                   return(new_line);
  1125. --- 332,338 ----
  1126.                   case '\r': /* ^M */
  1127.                   cur_line[max_pos+1] = '\0';
  1128.                   putc('\n', stderr);
  1129. !                 new_line = malloc(strlen(cur_line)+1);
  1130.                   strcpy(new_line,cur_line);
  1131.                   reset_termio();
  1132.                   return(new_line);
  1133. ***************
  1134. *** 433,439 ****
  1135.   {
  1136.       struct hist *entry;
  1137.       entry = (struct hist *)malloc(sizeof(struct hist));
  1138. !     entry->line = malloc((size_t)strlen(line)+1);
  1139.       strcpy(entry->line, line);
  1140.   
  1141.       entry->prev = history;
  1142. --- 433,439 ----
  1143.   {
  1144.       struct hist *entry;
  1145.       entry = (struct hist *)malloc(sizeof(struct hist));
  1146. !     entry->line = malloc((unsigned int)strlen(line)+1);
  1147.       strcpy(entry->line, line);
  1148.   
  1149.       entry->prev = history;
  1150. diff -c src/readline.c ../gnuplot/readline.csrc/scanner.c ../gnuplot/scanner.c
  1151. *** src/scanner.c    Mon Jan 27 11:51:29 1992
  1152. --- ../gnuplot/scanner.c    Fri Sep  6 01:19:12 1991
  1153. ***************
  1154. *** 264,275 ****
  1155.       int_error("substitution not supported by AmigaDOS!",t_num);
  1156.   }
  1157.   
  1158. - #elif THINK_C
  1159. - substitute(char *str,int max)
  1160. - {
  1161. -     int_error("substitution not supported by MacOS!",t_num);
  1162. - }
  1163.   #else /* AMIGA_LC_5_1 */
  1164.   
  1165.   substitute(str,max)            /* substitute output from ` ` */
  1166. --- 264,269 ----
  1167. ***************
  1168. *** 279,285 ****
  1169.   register char *last;
  1170.   register int i,c;
  1171.   register FILE *f;
  1172. ! #if defined(AMIGA_AC_5) || defined(THINK_C)
  1173.   int fd;
  1174.   #else
  1175.   FILE *popen();
  1176. --- 273,279 ----
  1177.   register char *last;
  1178.   register int i,c;
  1179.   register FILE *f;
  1180. ! #ifdef AMIGA_AC_5
  1181.   int fd;
  1182.   #else
  1183.   FILE *popen();
  1184. ***************
  1185. *** 313,319 ****
  1186.          if ((f = fopen(MAILBOX,"r")) == NULL)
  1187.              os_error("mailbox open failed",NO_CARET);
  1188.   #else /* vms */
  1189. ! #if defined(AMIGA_AC_5) || defined(THINK_C)
  1190.         if ((fd = open(pgm,"O_RDONLY")) == -1)
  1191.   #else
  1192.         if ((f = popen(pgm,"r")) == NULL)
  1193. --- 307,313 ----
  1194.          if ((f = fopen(MAILBOX,"r")) == NULL)
  1195.              os_error("mailbox open failed",NO_CARET);
  1196.   #else /* vms */
  1197. ! #ifdef AMIGA_AC_5
  1198.         if ((fd = open(pgm,"O_RDONLY")) == -1)
  1199.   #else
  1200.         if ((f = popen(pgm,"r")) == NULL)
  1201. ***************
  1202. *** 325,331 ****
  1203.       while ((c = getc(f)) != EOF) {
  1204.           output[i++] = ((c == '\n') ? ' ' : c);    /* newlines become blanks*/
  1205.           if (i == max) {
  1206. ! #if defined(AMIGA_AC_5) || defined(THINK_C)
  1207.               (void) close(fd);
  1208.   #else
  1209.               (void) pclose(f);
  1210. --- 319,325 ----
  1211.       while ((c = getc(f)) != EOF) {
  1212.           output[i++] = ((c == '\n') ? ' ' : c);    /* newlines become blanks*/
  1213.           if (i == max) {
  1214. ! #ifdef AMIGA_AC_5
  1215.               (void) close(fd);
  1216.   #else
  1217.               (void) pclose(f);
  1218. ***************
  1219. *** 333,339 ****
  1220.               int_error("substitution overflow", t_num);
  1221.           }
  1222.       }
  1223. ! #if defined(AMIGA_AC_5) || defined(THINK_C)
  1224.       (void) close(fd);
  1225.   #else
  1226.       (void) pclose(f);
  1227. --- 327,333 ----
  1228.               int_error("substitution overflow", t_num);
  1229.           }
  1230.       }
  1231. ! #ifdef AMIGA_AC_5
  1232.       (void) close(fd);
  1233.   #else
  1234.       (void) pclose(f);
  1235. ***************
  1236. *** 345,349 ****
  1237.       (void) strcpy(str,output);                /* now replace ` ` with output */
  1238.       screen_ok = FALSE;
  1239.   }
  1240. ! #endif /* AMIGA_LC_5_1 || THINK_C*/
  1241.   #endif /* MS-DOS */
  1242. --- 339,343 ----
  1243.       (void) strcpy(str,output);                /* now replace ` ` with output */
  1244.       screen_ok = FALSE;
  1245.   }
  1246. ! #endif /* AMIGA_LC_5_1 */
  1247.   #endif /* MS-DOS */
  1248. Only in src: set.c
  1249. diff -c src/scanner.c ../gnuplot/scanner.csrc/setshow.c ../gnuplot/setshow.c
  1250. *** src/setshow.c    Sun Feb  2 11:06:01 1992
  1251. --- ../gnuplot/setshow.c    Wed Sep  4 08:22:55 1991
  1252. ***************
  1253. *** 548,579 ****
  1254.               term_init = FALSE;
  1255.               (void) strcpy(outstr,"STDOUT");
  1256.           } else if (!isstring(c_token))
  1257. - #ifdef THINK_C
  1258. -             {     Point where={97,103};
  1259. -                 SFReply reply;
  1260. -                 
  1261. -                 SFPutFile(where,NULL, "\pUntitled",NULL, &reply);
  1262. -                 if( (reply.good) && (SetVol(reply.fName,reply.vRefNum) == noErr)){
  1263. -                     PtoCstr((char *) reply.fName);
  1264. -                     strcpy(testfile,(char *) reply.fName);
  1265. -                     if ((f = fopen(testfile,"w")) == (FILE *)NULL) {
  1266. -                       os_error("cannot open file; output not changed",c_token);
  1267. -                     }
  1268. -                     if (outfile != stdout) /* Never close stdout */
  1269. -                         (void) fclose(outfile);
  1270. -                     outfile = f;
  1271. -                     term_init = FALSE;
  1272. -                     outstr[0] = '\'';
  1273. -                     (void) strcat(strcpy(outstr+1,testfile),"'");
  1274. -                      UP_redirect (1);
  1275. -                 }
  1276. -                 else{
  1277. -                     int_error("expecting filename",c_token);
  1278. -                 }
  1279. -             }
  1280. - #else
  1281.               int_error("expecting filename",c_token);
  1282. - #endif
  1283.           else {
  1284.               quote_str(testfile,c_token);
  1285.   #ifdef unix
  1286. --- 548,554 ----
  1287. ***************
  1288. *** 1229,1235 ****
  1289.       } else {
  1290.          /* adding the label */
  1291.          new_label = (struct text_label *) 
  1292. !         alloc ( (size_t) sizeof(struct text_label), "label");
  1293.          if (prev_label != NULL)
  1294.           prev_label->next = new_label; /* add it to end of list */
  1295.          else 
  1296. --- 1204,1210 ----
  1297.       } else {
  1298.          /* adding the label */
  1299.          new_label = (struct text_label *) 
  1300. !         alloc ( (unsigned int) sizeof(struct text_label), "label");
  1301.          if (prev_label != NULL)
  1302.           prev_label->next = new_label; /* add it to end of list */
  1303.          else 
  1304. ***************
  1305. *** 1444,1450 ****
  1306.       } else {
  1307.          /* adding the arrow */
  1308.          new_arrow = (struct arrow_def *) 
  1309. !         alloc ( (size_t) sizeof(struct arrow_def), "arrow");
  1310.          if (prev_arrow != NULL)
  1311.           prev_arrow->next = new_arrow; /* add it to end of list */
  1312.          else 
  1313. --- 1419,1425 ----
  1314.       } else {
  1315.          /* adding the arrow */
  1316.          new_arrow = (struct arrow_def *) 
  1317. !         alloc ( (unsigned int) sizeof(struct arrow_def), "arrow");
  1318.          if (prev_arrow != NULL)
  1319.           prev_arrow->next = new_arrow; /* add it to end of list */
  1320.          else 
  1321. ***************
  1322. *** 1594,1600 ****
  1323.          /* has a string with it? */
  1324.          if (isstring(c_token)) {
  1325.             quote_str(temp_string,c_token);
  1326. !           tic->label = alloc((size_t)strlen(temp_string)+1, "tic label");
  1327.             (void) strcpy(tic->label, temp_string);
  1328.             c_token++;
  1329.          } else
  1330. --- 1569,1575 ----
  1331.          /* has a string with it? */
  1332.          if (isstring(c_token)) {
  1333.             quote_str(temp_string,c_token);
  1334. !           tic->label = alloc((unsigned int)strlen(temp_string)+1, "tic label");
  1335.             (void) strcpy(tic->label, temp_string);
  1336.             c_token++;
  1337.          } else
  1338. ***************
  1339. *** 2595,2597 ****
  1340. --- 2570,2601 ----
  1341.           udv = udv->next_udv;
  1342.       }
  1343.   }
  1344. + void                /* used by plot.c */
  1345. + show_version()
  1346. + {
  1347. + extern char version[];
  1348. + extern char patchlevel[];
  1349. + extern char date[];
  1350. + extern char bug_email[];
  1351. + static char *authors[] = {"Thomas Williams","Colin Kelley"}; /* primary */
  1352. + int x;
  1353. + long time();
  1354. +     x = time((long *)NULL) & 1;
  1355. +     fprintf(stderr,"\n\t%s\n\t%sversion %s\n",
  1356. +         PROGRAM, OS, version); 
  1357. +     fprintf(stderr,"\tpatchlevel %s\n",patchlevel);
  1358. +      fprintf(stderr, "\tlast modified %s\n", date);
  1359. +     fprintf(stderr,"\tCopyright (C) 1986, 1987, 1990, 1991  %s, %s\n",
  1360. +         authors[x],authors[1-x]);
  1361. +     fprintf(stderr, "\n\tSend bugs and comments to %s\n", bug_email);
  1362. + }
  1363. Only in src: show.c
  1364. Only in src: show_version.c
  1365. Common subdirectories: src/term and ../gnuplot/term
  1366. diff -c src/setshow.c ../gnuplot/setshow.csrc/term.c ../gnuplot/term.c
  1367. *** src/term.c    Tue Feb  4 12:28:31 1992
  1368. --- ../gnuplot/term.c    Fri Sep  6 01:19:15 1991
  1369. ***************
  1370. *** 239,250 ****
  1371.   }
  1372.   
  1373.   #ifdef DUMB                    /* paper or glass dumb terminal */
  1374. ! #include ":term:dumb.trm"
  1375.   #endif
  1376.   
  1377.   
  1378.   #ifdef PC            /* all PC types */
  1379. ! #include ":term:pc.trm"
  1380.   #endif
  1381.   
  1382.   /*
  1383. --- 239,250 ----
  1384.   }
  1385.   
  1386.   #ifdef DUMB                    /* paper or glass dumb terminal */
  1387. ! #include "term/dumb.trm"
  1388.   #endif
  1389.   
  1390.   
  1391.   #ifdef PC            /* all PC types */
  1392. ! #include "term/pc.trm"
  1393.   #endif
  1394.   
  1395.   /*
  1396. ***************
  1397. *** 283,301 ****
  1398.   #endif
  1399.   
  1400.   #ifdef T410X        /* Tektronix 4106, 4107, 4109 and 420x terminals */
  1401. ! #include ":term:t410x.trm"
  1402.   #endif
  1403.   
  1404.   #ifdef TEK            /* all TEK types, TEK, BBN, SELANAR, KERMIT, VTTEK */
  1405. ! #include ":term:tek.trm"
  1406.   #endif
  1407.   
  1408.   #ifdef EPSONP    /* bit map types, EPSON, NEC, PROPRINTER, STAR Color */
  1409. ! #include ":term:epson.trm"
  1410.   #endif
  1411.   
  1412.   #ifdef HPLJII        /* HP LaserJet II */
  1413. ! #include ":term:hpljii.trm"
  1414.   #endif
  1415.   
  1416.   #ifdef HPLJII /* HP LaserJet III in HPGL mode */
  1417. --- 283,301 ----
  1418.   #endif
  1419.   
  1420.   #ifdef T410X        /* Tektronix 4106, 4107, 4109 and 420x terminals */
  1421. ! #include "term/t410x.trm"
  1422.   #endif
  1423.   
  1424.   #ifdef TEK            /* all TEK types, TEK, BBN, SELANAR, KERMIT, VTTEK */
  1425. ! #include "term/tek.trm"
  1426.   #endif
  1427.   
  1428.   #ifdef EPSONP    /* bit map types, EPSON, NEC, PROPRINTER, STAR Color */
  1429. ! #include "term/epson.trm"
  1430.   #endif
  1431.   
  1432.   #ifdef HPLJII        /* HP LaserJet II */
  1433. ! #include "term/hpljii.trm"
  1434.   #endif
  1435.   
  1436.   #ifdef HPLJII /* HP LaserJet III in HPGL mode */
  1437. ***************
  1438. *** 305,328 ****
  1439.   #endif
  1440.   
  1441.   #ifdef FIG                /* Fig 1.4FS Interactive graphics program */
  1442. ! #include ":term:fig.trm"
  1443. ! #include ":term:bigfig.trm"
  1444.   #endif
  1445.     
  1446.   #ifdef GPR              /* Apollo Graphics Primitive Resource (fixed-size window) */
  1447. ! #include ":term:gpr.trm"
  1448.   #endif /* GPR */
  1449.   
  1450.   #ifdef APOLLO           /* Apollo Graphics Primitive Resource (resizable window) */
  1451. ! #include ":term:apollo.trm"
  1452.   #endif /* APOLLO */
  1453.   
  1454.   #ifdef IMAGEN        /* IMAGEN printer */
  1455. ! #include ":term:imagen.trm"
  1456.   #endif
  1457.   
  1458.   #ifdef EEPIC        /* EEPIC (LATEX) type */
  1459. ! #include ":term:eepic.trm"
  1460.   # ifndef LATEX
  1461.   #  define LATEX
  1462.   # endif
  1463. --- 305,328 ----
  1464.   #endif
  1465.   
  1466.   #ifdef FIG                /* Fig 1.4FS Interactive graphics program */
  1467. ! #include "term/fig.trm"
  1468. ! #include "term/bigfig.trm"
  1469.   #endif
  1470.     
  1471.   #ifdef GPR              /* Apollo Graphics Primitive Resource (fixed-size window) */
  1472. ! #include "term/gpr.trm"
  1473.   #endif /* GPR */
  1474.   
  1475.   #ifdef APOLLO           /* Apollo Graphics Primitive Resource (resizable window) */
  1476. ! #include "term/apollo.trm"
  1477.   #endif /* APOLLO */
  1478.   
  1479.   #ifdef IMAGEN        /* IMAGEN printer */
  1480. ! #include "term/imagen.trm"
  1481.   #endif
  1482.   
  1483.   #ifdef EEPIC        /* EEPIC (LATEX) type */
  1484. ! #include "term/eepic.trm"
  1485.   # ifndef LATEX
  1486.   #  define LATEX
  1487.   # endif
  1488. ***************
  1489. *** 335,370 ****
  1490.   #endif
  1491.   
  1492.   #ifdef LATEX        /* LATEX type */
  1493. ! #include ":term:latex.trm"
  1494.   #endif
  1495.   
  1496.   #ifdef POSTSCRIPT    /* POSTSCRIPT type */
  1497. ! #include ":term:post.trm"
  1498.   #endif
  1499.   
  1500.   #ifdef PRESCRIBE    /* PRESCRIBE type */
  1501. ! #include ":term:kyo.trm"
  1502.   #endif
  1503.   
  1504.   #ifdef UNIXPC     /* unix-PC  ATT 7300 or 3b1 machine */
  1505. ! #include ":term:unixpc.trm"
  1506.   #endif /* UNIXPC */
  1507.   
  1508.   #ifdef AED
  1509. ! #include ":term:aed.trm"
  1510.   #endif /* AED */
  1511.   
  1512.   #ifdef CGI
  1513. ! #include ":term:cgi.trm"
  1514.   #endif /* CGI */
  1515.   
  1516.   #ifdef HP2648
  1517.   /* also works for HP2647 */
  1518. ! #include ":term:hp2648.trm"
  1519.   #endif /* HP2648 */
  1520.   
  1521.   #ifdef HP26
  1522. ! #include ":term:hp26.trm"
  1523.   #endif /* HP26 */
  1524.   
  1525.   #ifdef HP75
  1526. --- 335,370 ----
  1527.   #endif
  1528.   
  1529.   #ifdef LATEX        /* LATEX type */
  1530. ! #include "term/latex.trm"
  1531.   #endif
  1532.   
  1533.   #ifdef POSTSCRIPT    /* POSTSCRIPT type */
  1534. ! #include "term/post.trm"
  1535.   #endif
  1536.   
  1537.   #ifdef PRESCRIBE    /* PRESCRIBE type */
  1538. ! #include "term/kyo.trm"
  1539.   #endif
  1540.   
  1541.   #ifdef UNIXPC     /* unix-PC  ATT 7300 or 3b1 machine */
  1542. ! #include "term/unixpc.trm"
  1543.   #endif /* UNIXPC */
  1544.   
  1545.   #ifdef AED
  1546. ! #include "term/aed.trm"
  1547.   #endif /* AED */
  1548.   
  1549.   #ifdef CGI
  1550. ! #include "term/cgi.trm"
  1551.   #endif /* CGI */
  1552.   
  1553.   #ifdef HP2648
  1554.   /* also works for HP2647 */
  1555. ! #include "term/hp2648.trm"
  1556.   #endif /* HP2648 */
  1557.   
  1558.   #ifdef HP26
  1559. ! #include "term/hp26.trm"
  1560.   #endif /* HP26 */
  1561.   
  1562.   #ifdef HP75
  1563. ***************
  1564. *** 375,434 ****
  1565.   
  1566.   /* HPGL - includes HP75 and HPLJIII in HPGL mode */
  1567.   #ifdef HPGL
  1568. ! #include ":term:hpgl.trm"
  1569.   #endif /* HPGL */
  1570.   
  1571.   /* Roland DXY800A plotter driver by Martin Yii, eln557h@monu3.OZ 
  1572.       and Russell Lang, rjl@monu1.cc.monash.oz */
  1573.   #ifdef DXY800A
  1574. ! #include ":term:dxy.trm"
  1575.   #endif /* DXY800A */
  1576.   
  1577.   #ifdef IRIS4D
  1578. ! #include ":term:iris4d.trm"
  1579.   #endif /* IRIS4D */
  1580.   
  1581.   #ifdef QMS
  1582. ! #include ":term:qms.trm"
  1583.   #endif /* QMS */
  1584.   
  1585.   #ifdef REGIS
  1586. ! #include ":term:regis.trm"
  1587.   #endif /* REGIS */
  1588.   
  1589.   #ifdef SUN
  1590. ! #include ":term:sun.trm"
  1591.   #endif /* SUN */
  1592.   
  1593.   #ifdef VWS
  1594. ! #include ":term:vws.trm"
  1595.   #endif /* VWS */
  1596.   
  1597.   #ifdef V384
  1598. ! #include ":term:v384.trm"
  1599.   #endif /* V384 */
  1600.   
  1601.   #ifdef UNIXPLOT
  1602. ! #include ":term:unixplot.trm"
  1603.   #endif /* UNIXPLOT */
  1604.   
  1605.   #ifdef X11
  1606. ! #include ":term:x11.trm"
  1607.   #endif /* X11 */
  1608.   
  1609.   #ifdef DXF
  1610. ! #include ":term:dxf.trm"
  1611.   #endif /* DXF */
  1612.     
  1613.   #ifdef AMIGASCREEN
  1614. ! #include ":term:amiga.trm"
  1615.   #endif
  1616.   
  1617. - #ifdef THINK_C
  1618. -  #include ":term:THINKC_console.trm" 
  1619. - #endif 
  1620.   
  1621.   /* Dummy functions for unavailable features */
  1622.   
  1623.   /* change angle of text.  0 is horizontal left to right.
  1624. --- 375,430 ----
  1625.   
  1626.   /* HPGL - includes HP75 and HPLJIII in HPGL mode */
  1627.   #ifdef HPGL
  1628. ! #include "term/hpgl.trm"
  1629.   #endif /* HPGL */
  1630.   
  1631.   /* Roland DXY800A plotter driver by Martin Yii, eln557h@monu3.OZ 
  1632.       and Russell Lang, rjl@monu1.cc.monash.oz */
  1633.   #ifdef DXY800A
  1634. ! #include "term/dxy.trm"
  1635.   #endif /* DXY800A */
  1636.   
  1637.   #ifdef IRIS4D
  1638. ! #include "term/iris4d.trm"
  1639.   #endif /* IRIS4D */
  1640.   
  1641.   #ifdef QMS
  1642. ! #include "term/qms.trm"
  1643.   #endif /* QMS */
  1644.   
  1645.   #ifdef REGIS
  1646. ! #include "term/regis.trm"
  1647.   #endif /* REGIS */
  1648.   
  1649.   #ifdef SUN
  1650. ! #include "term/sun.trm"
  1651.   #endif /* SUN */
  1652.   
  1653.   #ifdef VWS
  1654. ! #include "term/vws.trm"
  1655.   #endif /* VWS */
  1656.   
  1657.   #ifdef V384
  1658. ! #include "term/v384.trm"
  1659.   #endif /* V384 */
  1660.   
  1661.   #ifdef UNIXPLOT
  1662. ! #include "term/unixplot.trm"
  1663.   #endif /* UNIXPLOT */
  1664.   
  1665.   #ifdef X11
  1666. ! #include "term/x11.trm"
  1667.   #endif /* X11 */
  1668.   
  1669.   #ifdef DXF
  1670. ! #include "term/dxf.trm"
  1671.   #endif /* DXF */
  1672.     
  1673.   #ifdef AMIGASCREEN
  1674. ! #include "term/amiga.trm"
  1675.   #endif
  1676.   
  1677.   
  1678.   /* Dummy functions for unavailable features */
  1679.   
  1680.   /* change angle of text.  0 is horizontal left to right.
  1681. ***************
  1682. *** 1045,1059 ****
  1683.          X11_linetype, X11_put_text, null_text_angle, 
  1684.          X11_justify_text, do_point, do_arrow}
  1685.   #endif
  1686. - #ifdef THINK_C
  1687. -      ,{"TC_console", "THINK_C console enviroment",
  1688. -        TC_XMAX, TC_YMAX, TC_VCHAR, TC_HCHAR, 
  1689. -        TC_VTIC, TC_HTIC, options_null,TC_init, TC_reset, 
  1690. -        TC_text, null_scale, TC_graphics, TC_move, TC_vector,
  1691. -        TC_linetype, TC_put_text, null_text_angle, 
  1692. -        null_justify_text, line_and_point, do_arrow} /* Think Console ++ */
  1693. - #endif
  1694.   };
  1695.   
  1696.   #define TERMCOUNT (sizeof(term_tbl)/sizeof(struct termentry))
  1697. --- 1041,1046 ----
  1698. ***************
  1699. *** 1177,1183 ****
  1700.   #endif /* sun */
  1701.   
  1702.   #ifdef GPR
  1703. !    if (gpr_isa_pad()) term_name = "gpr";       /* find out whether stdout is a DM pad. See :term:gpr.trm */
  1704.   #else
  1705.   #ifdef APOLLO
  1706.      if (apollo_isa_pad()) term_name = "apollo"; /* find out whether stdout is a DM pad. See term/apollo.trm */
  1707. --- 1164,1170 ----
  1708.   #endif /* sun */
  1709.   
  1710.   #ifdef GPR
  1711. !    if (gpr_isa_pad()) term_name = "gpr";       /* find out whether stdout is a DM pad. See term/gpr.trm */
  1712.   #else
  1713.   #ifdef APOLLO
  1714.      if (apollo_isa_pad()) term_name = "apollo"; /* find out whether stdout is a DM pad. See term/apollo.trm */
  1715. diff -c src/term.c ../gnuplot/term.csrc/term.h ../gnuplot/term.h
  1716. *** src/term.h    Sat Jan 25 12:50:56 1992
  1717. --- ../gnuplot/term.h    Fri Sep  6 01:19:16 1991
  1718. ***************
  1719. *** 44,101 ****
  1720.    */
  1721.   
  1722.   /* These terminals are not relevant for MSDOS */
  1723. ! #ifndef THINK_C
  1724. !     #ifndef MSDOS
  1725. !     
  1726. !     #ifdef AMIGA_LC_5_1
  1727. !     #define AMIGASCREEN    /* Amiga custom screen */
  1728. !     
  1729. !     #else /* AMIGA_LC_5_1 */
  1730. !     
  1731. !     #ifdef AMIGA_AC_5
  1732. !     #define AMIGASCREEN    /* Amiga custom screen */
  1733. !     #endif
  1734. !     #define AED        /* AED 512 and AED 767 */
  1735. !     #define BITGRAPH    /* BBN BitGraph */
  1736. !     /* #define CGI        /* SCO CGI */
  1737. !     /* #define IRIS4D    /* IRIS4D series computer */
  1738. !     #define KERMIT        /* MS-Kermit Tektronix 4010 emulator */
  1739. !     #define FIG           /* Fig graphics language */
  1740. !     #define REGIS        /* ReGis graphics (vt125, vt220, vt240, Gigis...) */
  1741. !     #define SELANAR        /* Selanar */
  1742. !     /* #define SUN        /* Sun Microsystems Workstation */
  1743. !     #define T410X        /* Tektronix 4106, 4107, 4109 and 420x terminals */
  1744. !     #define TEK        /* Tektronix 4010, and probably others */
  1745. !     /* #define UNIXPC    /* unixpc (ATT 3b1 or ATT 7300) */
  1746. !     /* #define UNIXPLOT    /* unixplot */
  1747. !     #define VTTEK        /* VT-like tek40xx emulators */
  1748. !     /* #define X11        /* X11R4 window system */
  1749. !     
  1750. !     #endif /* AMIGA_LC_5_1 */
  1751. !     
  1752. !     #define DXY800A        /* Roland DXY800A plotter */
  1753. !     
  1754. !     #define HP2648        /* HP2648, HP2647 */
  1755. !     #define HP26        /* HP2623A and maybe others */
  1756. !     #define HP75        /* HP7580, and probably other HPs */
  1757. !     #define IMAGEN      /* Imagen laser printers (300dpi) (requires -Iterm also) */
  1758. !     
  1759. !     #define NEC        /* NEC CP6 pinwriter printer */
  1760. !     #define PRESCRIBE    /* Kyocera Laser printer */
  1761. !     #define QMS        /* QMS/QUIC laserprinter (Talaris 1200 and others) */
  1762. !     #define STARC        /* Star Color Printer */
  1763. !     #define TANDY60        /* Tandy DMP-130 series 60-dot per inch graphics */
  1764. !     #define V384        /* Vectrix 384 and tandy color printer */
  1765. !     
  1766. !     #endif /* not MSDOS */
  1767. ! #else /* THINK_C */
  1768. !      #define KERMIT        /* MS-Kermit Tektronix 4010 emulator */
  1769. !     #define T410X        /* Tektronix 4106, 4107, 4109 and 420x terminals */
  1770. !     #define TEK        /* Tektronix 4010, and probably others */
  1771. !     #define VTTEK        /* VT-like tek40xx emulators */
  1772. !      #define DXF        /* DXF format for use with AutoCad (Release 10.x) */
  1773.   #endif
  1774.   
  1775.   /* These terminals can be used on any system */
  1776.   #define DUMB
  1777.   
  1778. --- 44,93 ----
  1779.    */
  1780.   
  1781.   /* These terminals are not relevant for MSDOS */
  1782. ! #ifndef MSDOS
  1783. ! #ifdef AMIGA_LC_5_1
  1784. ! #define AMIGASCREEN    /* Amiga custom screen */
  1785. ! #else /* AMIGA_LC_5_1 */
  1786. ! #ifdef AMIGA_AC_5
  1787. ! #define AMIGASCREEN    /* Amiga custom screen */
  1788.   #endif
  1789. + #define AED        /* AED 512 and AED 767 */
  1790. + #define BITGRAPH    /* BBN BitGraph */
  1791. + /* #define CGI        /* SCO CGI */
  1792. + /* #define IRIS4D    /* IRIS4D series computer */
  1793. + #define KERMIT        /* MS-Kermit Tektronix 4010 emulator */
  1794. + #define FIG           /* Fig graphics language */
  1795. + #define REGIS        /* ReGis graphics (vt125, vt220, vt240, Gigis...) */
  1796. + #define SELANAR        /* Selanar */
  1797. + /* #define SUN        /* Sun Microsystems Workstation */
  1798. + #define T410X        /* Tektronix 4106, 4107, 4109 and 420x terminals */
  1799. + #define TEK        /* Tektronix 4010, and probably others */
  1800. + /* #define UNIXPC    /* unixpc (ATT 3b1 or ATT 7300) */
  1801. + /* #define UNIXPLOT    /* unixplot */
  1802. + #define VTTEK        /* VT-like tek40xx emulators */
  1803. + /* #define X11        /* X11R4 window system */
  1804.   
  1805. + #endif /* AMIGA_LC_5_1 */
  1806. + #define DXY800A        /* Roland DXY800A plotter */
  1807. + #define HP2648        /* HP2648, HP2647 */
  1808. + #define HP26        /* HP2623A and maybe others */
  1809. + #define HP75        /* HP7580, and probably other HPs */
  1810. + #define IMAGEN      /* Imagen laser printers (300dpi) (requires -Iterm also) */
  1811. + #define NEC        /* NEC CP6 pinwriter printer */
  1812. + #define PRESCRIBE    /* Kyocera Laser printer */
  1813. + #define QMS        /* QMS/QUIC laserprinter (Talaris 1200 and others) */
  1814. + #define STARC        /* Star Color Printer */
  1815. + #define TANDY60        /* Tandy DMP-130 series 60-dot per inch graphics */
  1816. + #define V384        /* Vectrix 384 and tandy color printer */
  1817. + #endif /* MSDOS */
  1818.   /* These terminals can be used on any system */
  1819.   #define DUMB
  1820.   
  1821. ***************
  1822. *** 109,125 ****
  1823.   #define EMTEX        /* LATEX picture environment with EMTEX specials */
  1824.   #define EPS60        /* Epson-style 60-dot per inch printers */
  1825.   #define EPSONP        /* Epson LX-800, Star NL-10, NX-1000 and lots of others */
  1826. ! /* #define HPLJII        /* HP LaserJet II */
  1827.   #define LATEX        /* LATEX picture environment */
  1828.   
  1829.   /* These are for MSDOS only */
  1830.   #ifdef MSDOS
  1831. !     #ifdef __TURBOC__
  1832. !         #define ATT6300        /* AT&T 6300 graphics */
  1833. !     #else
  1834. !         #define ATT6300        /* AT&T 6300 graphics */
  1835. !         #define CORONA        /* Corona graphics 325 */
  1836. !         #define HERCULES    /* IBM PC/Clone with Hercules graphics board */
  1837. !     #endif /* __TURBOC__ */
  1838.   #endif /* MSDOS */
  1839.   
  1840. --- 101,117 ----
  1841.   #define EMTEX        /* LATEX picture environment with EMTEX specials */
  1842.   #define EPS60        /* Epson-style 60-dot per inch printers */
  1843.   #define EPSONP        /* Epson LX-800, Star NL-10, NX-1000 and lots of others */
  1844. ! #define HPLJII        /* HP LaserJet II */
  1845.   #define LATEX        /* LATEX picture environment */
  1846.   
  1847.   /* These are for MSDOS only */
  1848.   #ifdef MSDOS
  1849. ! #ifdef __TURBOC__
  1850. ! #define ATT6300        /* AT&T 6300 graphics */
  1851. ! #else
  1852. ! #define ATT6300        /* AT&T 6300 graphics */
  1853. ! #define CORONA        /* Corona graphics 325 */
  1854. ! #define HERCULES    /* IBM PC/Clone with Hercules graphics board */
  1855. ! #endif /* __TURBOC__ */
  1856.   #endif /* MSDOS */
  1857.   
  1858. diff -c src/term.h ../gnuplot/term.hsrc/util.c ../gnuplot/util.c
  1859. *** src/util.c    Mon Jan 27 11:29:59 1992
  1860. --- ../gnuplot/util.c    Sun Sep  8 23:01:17 1991
  1861. ***************
  1862. *** 47,58 ****
  1863.   
  1864.   #ifndef vms
  1865.   #ifndef __ZTC__
  1866. - #ifndef THNK_C
  1867.   extern int errno;
  1868.   extern int sys_nerr;
  1869.   extern char *sys_errlist[];
  1870.   #endif
  1871. - #endif
  1872.   #endif /* vms */
  1873.   
  1874.   extern char input_line[];
  1875. --- 47,56 ----
  1876. ***************
  1877. *** 515,522 ****
  1878.       (void) putc('\n',stderr);
  1879.   #else
  1880.   #ifdef __ZTC__
  1881. -     fprintf(stderr,"error number %d\n\n",errno);
  1882. - #elif THINK_C
  1883.       fprintf(stderr,"error number %d\n\n",errno);
  1884.   #else
  1885.       if (errno >= sys_nerr)
  1886. --- 513,518 ----
  1887.  
  1888.  
  1889.  
  1890.